package carmensd.vista.expedienteYvillanos

import applicationModel.ExpedienteAppModel
import modelo.Villano
import org.uqbar.arena.bindings.PropertyAdapter
import org.uqbar.arena.layout.ColumnLayout
import org.uqbar.arena.widgets.Label
import org.uqbar.arena.widgets.List
import org.uqbar.arena.widgets.Panel
import org.uqbar.arena.windows.Dialog
import org.uqbar.arena.windows.WindowOwner

abstract class ExpedienteMainWindow extends Dialog<ExpedienteAppModel> {
	

	new(WindowOwner owner, ExpedienteAppModel model) {
		super(owner, model)
	}

	override createContents(Panel expedientePanel) {
		this.setTitle("Expedientes")
		expedientePanel.setLayout(new ColumnLayout(2))

		/* Lista de villanos */
		new Label(expedientePanel).setText("Vilanos:")
		new List(expedientePanel) => [
			var binding = bindItemsToProperty("expediente.villanos")
			binding.setAdapter(new PropertyAdapter(typeof(Villano), "nombre"))
			bindValueToProperty("villanoSeleccionado")
		]

		/* Nombre del villano seleccionado */
		new Label(expedientePanel).setText("Nombre:")
		AsistenteDeContenidos.colocarTextoConValueBindeado(expedientePanel, "villanoSeleccionado.nombre")

		/* Sexo del villano seleccionado */
		new Label(expedientePanel).setText("Sexo:")
		AsistenteDeContenidos.colocarTextoConValueBindeado(expedientePanel, "villanoSeleccionado.sexo")

		/* Señas Particulares del villano seleccionado */
		new Label(expedientePanel).setText("Señas particulares:")
		AsistenteDeContenidos.colocarListaConItemsBindeados(expedientePanel, "villanoSeleccionado.seniasParticulares")

		/* Hobbies del villano seleccionado */
		new Label(expedientePanel).setText("Hobbies:")
		AsistenteDeContenidos.colocarListaConItemsBindeados(expedientePanel, "villanoSeleccionado.hobbies")

	}

	def openDialog(Dialog<?> dialog) {
		dialog.onAccept[|this.modelObject]
		dialog.open
	}

	override protected createFormPanel(Panel mainPanel) {
		throw new UnsupportedOperationException("TODO: auto-generated method stub")
	}

}
